package com.note.app.repository;

import com.note.app.document.CollaborationOperationContent;
import org.springframework.data.mongodb.repository.MongoRepository;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * 协作操作内容MongoDB存储库
 */
@Repository
public interface CollaborationOperationContentRepository extends MongoRepository<CollaborationOperationContent, String> {
    
    /**
     * 根据会话ID查询操作内容历史
     *
     * @param sessionId 会话ID
     * @return 操作内容列表
     */
    List<CollaborationOperationContent> findBySessionIdOrderByVersionDesc(Long sessionId);
    
    /**
     * 根据会话ID和版本号查询操作内容
     *
     * @param sessionId 会话ID
     * @param version 版本号
     * @return 操作内容
     */
    CollaborationOperationContent findBySessionIdAndVersion(Long sessionId, Integer version);
    
    /**
     * 查询会话最新的操作内容
     *
     * @param sessionId 会话ID
     * @return 最新操作内容
     */
    CollaborationOperationContent findTopBySessionIdOrderByVersionDesc(Long sessionId);
    
    /**
     * 删除会话的所有操作内容
     *
     * @param sessionId 会话ID
     */
    void deleteBySessionId(Long sessionId);
} 